package SingleInstance;

// 设计单例设计模式 - 饿汉式单例

public class A {
    // 1.私有化构造器 - 确保单例类对外不能创建多个对象
    private A() {
    }

    // 2.定义静态变量 - 记录本类的唯一对象
    // 2-1 利用final限制外界对本类实例的修改操作
    // private static final A a = new A();

    // 2-2 私有本类实例,避免外界直接访问,但是需要提供方法(3)
    private static A a = new A();

    // 3.提供公开静态方法 - 避免外界对实例数据直接操作
    public static A getInstance() {
        return a;
    }
}
